
import numpy as np

# 从索引2开始到索引7停止，间隔为2
def fun1():
    a = np.arange(10)
    s = slice(2, 7, 2)
    print(a)
    print(a[s])

# 通过冒号分隔切片参数start:stop:step来进行切片操作
def fun2():
    a = np.arange(10)
    b = a[2:7:2]
    print(b)

def fun3():
    a = np.arange(10)
    b = a[5]
    print(b)

def fun4():
    a = np.arange(10)
    print(a[2:])

def fun5():
    a = np.arange(10)
    print(a[2:5])

# 多维数组
def fun6():
    a = np.array([[1, 2, 3], [3, 4, 5], [4, 5, 6]])
    print(a)
    # 从某个索引处开始切割
    print('从数组索引 a[1:] 处开始切割')
    print(a[1:])

def fun7():
    a = np.array([[1, 2, 3], [3, 4, 5], [4, 5, 6]])
    print(a)
    print(a[..., 1]) # 第2列元素
    print(a[1, ...]) # 第2行元素
    print(a[..., 1:]) # 第2列及剩下的所有元素

if __name__ == '__main__':
    fun7()